package com.wangle.jdbc.mysql.transaction;

/**
 * 事务四大特性
 * 1.原子性（Atomicity）事务是最小单元，要么全部失败，要么全部成功
 * 2.一致性（consistency）事务执行失败或者成功数据必须一致
 * 3.隔离性（Isolation）事务不受外界并发操作的影响独立运行
 * 4.持久性（Durability）事务提交或者回滚，数据库中的数据改变时存盘永久存在
 */
public class Transaction {


    /**
     * 脏读：一个事务读到另一个事务还没有提交的数据。
     * 不可重复读：一个事务先后查询同一条数据，但两次读取的数据不同。
     * 幻读：事务按照条件查询数据，没有对应的数据，但是插入的时候却显示已经存在。（依旧是查询的是第一次查询的数据，是可重复读的）
     */
    void ConcurrencyProblem(){
    }

    /**
     * 手动开启事务
     */
    void startTransaction(){
        System.out.println("start transaction;");
    }

    /**
     * 手动提交事务
     */
    void commit(){
        System.out.println("commit");
    }


}
